home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 038.lha / NGI 1.2.Doc < prev    next >
Text File  |  1987-05-16  |  13KB  |  257 lines

  1. /****************************************************************/
  2. /******* NGI 1.2 DEMO *******************************************/
  3. /****************************************************************/
  4.  
  5.     An IFF, Workbench & C Utility by Kevin Bjorke
  6.     Distributed by
  7.         National Pixel Products
  8.         25724 Salceda Road
  9.         Valencia, CA 91355
  10.         CI$: 74756,464 PLink: OJS637
  11.  
  12.     This ARC File contains the DEMO version of NGI 1.2 --
  13.     some functions have been disabled. For the real thing,
  14.     plus complete source, send $25 to the above address --
  15.     we'll get it right out to you.
  16.  
  17. NGI is an Intuition-driven utility that will allow you to read, view, and
  18. reformat ILBM (DPaint, Aegis Images, DigiView, etc) pictures. Although NGI
  19. was originally intended to simply be a replacement for the "gi," "brush2c"
  20. & "brush2icon" utilities we'd been using (that didn't always work, alas),
  21. it's very useful as an IFF viewer, too -- it loads faster and is MUCH smaller
  22. than DPaint, and can show several pictures of most any reso during a single
  23. session -- so NGI is also an alternative to programs like "ShowILBM" and
  24. "DPaintX." NGI has been deliberately kept small enough so that you can just
  25. put it right on your normal DPaint disk. So even if you don't know what a BOB
  26. or ALTIMAGE is, don't write C code at all, and never need to make icons, NGI
  27. can still be a handy tool to have around your workbench.
  28.  
  29. NGI 1.2 contains quite a few improvements and new options that make it
  30. superior to the original NGI -- NGI now can write Workbench icons, can
  31. handle twin-image gadgets, and lets you decide just what kind of final output
  32. you need. The NGI 1.2 Distribution Disk also contains some convenient C
  33. routines to help programmers make the most out of NGI with a minimum of fuss.
  34.  
  35. /****************************************************************/
  36. /******* Instructions *******************************************/
  37. /****************************************************************/
  38.  
  39. Of course the easiest way to learn how to use NGI is to fiddle with it -- but
  40. when in doubt, here's the straight scoop:
  41.  
  42. /*** The Title Page ***/
  43.  
  44. When you start up NGI (from CLI or Workbench), you'll first get the Title Page.
  45. Hit the BEGIN gadget to go to the Main Page, or hit the title to find out
  46. what you're doing.
  47.  
  48. /*** The Main Page ***/
  49.  
  50. The NGI Main Page has three string gadgets and three button gadgets, listed
  51. below. When you see the Main Page, you also have a number of menu selections
  52. available, and NGI will display information on any currently read-in brush.
  53.  
  54. BRUSH: Enter the name of the brush you want to read. NGI can actually read any
  55.     IFF file that it can cram into memory, so the "brush" may be a full-
  56.     sized picture, even in hi-res.
  57.  
  58. OUTPUT: If you use NGI to generate new C files or icons, enter the filename
  59.     here. If you're writing an icon, don't bother with the ".info"
  60.     suffix -- AmigaDOS will do it for you.
  61.  
  62. STRUCT: If you use NGI to create C code, enter the name of the Image/Gadget/
  63.     Bob/VSprite structure you want NGI to write.
  64.  
  65. IMAGES, GELS, & ICONS: Selecting one of these buttons tells NGI what kind
  66.     of file you want it to write -- selecting IMAGES tells NGI that
  67.     you want to get C Source for Intuition-Style Images (and Gadgets);
  68.     GELS says you want C Source for animation GELS; and ICONS says you
  69.     want NGI to write a workbench icon instead of C code.
  70.  
  71. THE STATUS LINE: The box just below the buttons is the status line. NGI
  72.     will narrate whatever it's doing here -- for example, NGI announces
  73.     each IFF chunk as it reads-in a brush.
  74.  
  75. EXTRA INFO: The last three lines at the bottom of the screen will only
  76.     appear if you've successfully read-in a brush-- they tell you which
  77.     brush it is, its original name, size, and depth.
  78.  
  79. /*** The Main Menus ***/
  80.  
  81. PROJECT: From the Project Menu, you can Read, Display, & Save Brushes; get
  82.     Help and other Information; and quit NGI (you can do this through the
  83.     Close-Button on the NGI window at any time, too). All of the Project
  84.     Menu selections have corresponding keyboard shortcuts.
  85.  
  86.     Read Brush: Try to read-in the brush named in BRUSH on the Main Page.
  87.     Display: Display the currently read-in brush (See "The Display Page").
  88.     Save: Save the current brush, according to the style selected by the
  89.         IMAGES, GELS, or ICONS button, and with the various attributes
  90.         set by the appropriate menu(s) (See Below).
  91.     Help!!!: Get the Help Information Page.
  92.     About: Get the About Information Page.
  93.     Quit: Bye-Bye, Vamoose, OutaHere. NGI goes away.
  94.  
  95. BRUSH: NGI can read more than one brush at the same time, providing there's
  96.     some memory around for it. You can select which brush you're working
  97.     on with this menu. If you make Gadgets or icons that use the "AltImage"
  98.     feature, the brush that's selected (checked) will be the "normal"
  99.     Image, while the non-selected brush will be the "hilight" Image.
  100.  
  101. IMAGE: The Image Menu lets you format the C Source that NGI will write for
  102.     dealing with Intuition Image and Gadget structures.
  103.  
  104.     Colors: If Colors are ON, then NGI will include in the output file
  105.         an array of UWORD that represents the original brush colors.
  106.         Use the "LoadRGB4()" function to set them up for your program.
  107.     Gadgets: If Gadgets are ON, then NGI will write a boolean (button)
  108.         Gadget that uses your Image(s).
  109.     AltImage: If AltImage is ON, then IF [1] you've read two brushes, and
  110.         have them both in memory (see the BRUSH Menu above); and
  111.         [2] they're both the same size and the same depth; then NGI
  112.         will write TWO Images into the same file -- and if Gadgets
  113.         are on, the Gadget will use the unselected brush as its
  114.         "SelectRender" -- the Image you see as the hilight when you
  115.         click on the Gadget.
  116.  
  117. GELS: The Gels Menu, like the Image Menu, lets you pick-and-choose Gel output
  118.     parameters.
  119.  
  120.     Bob Colors: If Bob Colors are ON, then NGI will include in the output
  121.         file an array of UWORD that represents the original brush
  122.         colors whenever it writes a Bob (VSprite colors are built-in,
  123.         and are a bit different anyway). Use "LoadRGB4()" to set them
  124.         up for your program.
  125.     VSprites: By default, NGI writes only Bobs. If you select Sprites, then
  126.         NGI will write Gels as VSprites IF they're 16 or less pixels
  127.         across and IF they're no more than two bitplanes deep. Otherwise
  128.         you'll just get another Bob.
  129.     Memory: The NGI 1.2 Disk contains a set of routines in "kGEL.c" that
  130.         dynamically allocate Gels (these routines are for the most part
  131.         the same as those in the popular "MyGelTools" routines, and
  132.         are both Public Domain and widely available). If you choose
  133.         Dynamic Memory, the output file will include "MakeVSprite()"
  134.         or "MakeBob()" calls. If you chose Static Memory, the structures
  135.         will be declared in-place.
  136.  
  137. ICONS: The Icon Menu has only one option, "AltImage." It works like the
  138.     "AltImage" option for Images: if selected, then when you try to write
  139.     your icon: IF [1] you've read two brushes, and have them both in memory
  140.     (see the BRUSH Menu above); and    [2] they're both the same size and the
  141.     same depth (which MUST be Depth=2 for icons); then NGI will write TWO
  142.     Images into the same icon -- it will use the unselected brush as its
  143.     "hilight" -- the Image you see when you click on the icon. If AltImage
  144.     is OFF, then the highlight method is Backfill.
  145.  
  146. /*** The Information Pages ***/
  147.  
  148. The HELP and ABOUT pages are just there to tell you stuff. Hit "OK" to return
  149. to the Main Page (or the Close button to Give Up Altogether).
  150.  
  151. /*** The Display Page ***/
  152.  
  153. When you select Show Brush (Amiga-D), NGI will try to set up a new screen and
  154. show you the current brush. Normally it will make the screen lo-res if the
  155. brush will fit -- but if you've selected ICONS as the output style (even if
  156. you have no intention of writing icons), the screen will come up with 640-pixel
  157. width, just like the workbench. If your picture is bigger than 640 across or
  158. 400 high, tough -- that's all you'll see. (But who would want to code an Image
  159. that big without compression, anyway?)
  160.  
  161. The display page has a short menu:
  162.  
  163.     WBColors: If your picture only has a couple of bit planes, you can
  164.         override the original brush colors to see what it would look
  165.         like on the workbench.
  166.     Other Brush: If you have two brushes read-in with the same size and
  167.         depth, you can toggle between them, for an AltImage preview.
  168.     End Display: Closes the Display and sends you back to the Main Page.
  169.  
  170. /****************************************************************/
  171. /******* The Future *********************************************/
  172. /****************************************************************/
  173.  
  174. Future Enhancements to NGI may or may not include:
  175.     
  176. 1. Easier file specification that using the string gadget to type something like
  177.     "pictures12:brush/wb-brushes/NewCLick.Brush" -- probably some sort of
  178.     file requester a la DPaint.
  179.  
  180. 2. More Brushes. If NGI could read more brushes (not a hard thing to do), it
  181.     could potentially create and preview multi-Bob AnimComps. Since
  182.     animation development is what NGI was built for in the first place, this
  183.     is a high priority. Everyone HATES doing repetitive stuff. At the same
  184.     time, maybe it's overkill, especially with dynamically-allocated Bobs.
  185.  
  186. 3. Mask/Stencil Planes. Since Image structures don't use Mask planes, NGI
  187.     doesn't bother with them. They can sometimes be handy for animation,
  188.     however. (Yes, we know about Masked Gadgets. But DPaint doesn't
  189.     store BRUSHES that way...)
  190.  
  191. 4. Basic? NGI could also write BASIC "objects," if we ever got requests for
  192.     that sort of thing. Probably lots of requests.
  193.  
  194. 5. Special CLI options in addition to the mouse. It might be handy to make a
  195.     BOB with a line like "NGI -b df1:brush/dude2 sys:dude2.s BowLeg2" i.e.
  196.     "NGI <option(s)> <brush> <output> <struct>" -- we like mouse-driven
  197.     code, but the simplest way is always the best -- always the tricky
  198.     part of providing programs that are flexible.
  199.  
  200. /****************************************************************/
  201. /******* Recompiling NGI ****************************************/
  202. /****************************************************************/
  203.  
  204. NGI was written in C, using the Lattice 3.10 compiler under WorkBench 1.2.
  205. Much of its size (about 36K) is actually just the various structures
  206. and ImageData blocks, with the code being pretty short -- the IFF reader
  207. is probably more than half of the code. NGI used the Lattice "-a" option,
  208. so it should run properly on heavily-expanded machines, loading all ImageData
  209. into CHIP memory. Bon appetit bitblt.
  210.  
  211. NGI's original source is included in the Source Directory of the Distribution
  212. Disk. EXECUTE the "NRestore.cmd" command file to load the various modules
  213. onto your SYS: disk, then "NGI.cmd" to execute & link. MAKE fans may want
  214. their own scripts, though "NGI.cmd" uses the -M option of lc to ensure that
  215. only revised .c modules are indeed compiled. If you want to change the look of
  216. the buttons, you'll find the original IFF brushes in the Brush directory.
  217.  
  218.                         - KAB 1 June 87 1987
  219.  
  220. /****************************************************************/
  221. /******* National Pixel Products ********************************/
  222. /****************************************************************/
  223.  
  224. About National Pixel Products:
  225.  
  226.     National Pixel Products was created by ex-employees of the late,
  227. great Digital Productions/Robert Abel & Associates/Omnibus Simulation;
  228. makers of supercomputer graphics for the entertainment industry. While the
  229. Amiga is no Cray, we all think it's the hottest box on the block, even AFTER
  230. the Mac-2. Accept no substitutes.
  231.  
  232.     Future projects include a high-quality scan-line renderer (MUCH faster
  233. than ray-tracing) and other multi-purpose graphics tools like NGI -- we are
  234. also working on the adaptation of William Gibson's cyberpunk novel NEUROMANCER
  235. as an Amiga game.
  236.  
  237. (Deluxe Paint and Deluxe Paint 2 are trademarks of Electronic Arts.
  238. Aegis and Aegis Images are trademarks of Aegis Development. DigiView
  239. is a trademark of NewTek, Inc. Amiga and Workbench are trademarks of
  240. Commodore Business Machines. Why are you reading this? Lattice is a
  241. trademark of Lattice, Inc.)
  242.  
  243. /****************************************************************/
  244. /******** NGI Updates and Source Code ***************************/
  245. /****************************************************************/
  246.  
  247. For updates, revenge, and complete source of NGI with examples of use
  248.     (and to    be on our mailing list, of course), send $25 to:
  249.  
  250. National Pixel Products
  251. 25724 Salceda Road
  252. Valencia, California 91355
  253.  
  254. /****************************************************************/
  255. /******************************************************** eof ***/
  256. /****************************************************************/
  257.